<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>hello Vue</title>
</head>
<body>
<div id="app">
    <!-- v-on 绑定事件监听器 -->
    <!--最简单的事件监听，click-->
    <button v-on:click="but1">按钮1</button>
    <!--因为事件监听比较常用，为了代码看起来更加简洁，vue提供简写方式就是@ -->
    <button @click="but1">按钮1</button>
    <!-- 动态事件 (2.6.0+) -->
    <button v-on:[event]="but1">按钮 动态事件</button>
    <!-- 有括号的无参数 -->
    <button v-on:click="but2()">按钮2</button>
    <!-- 不带括号的时候，click会获取原生DOM对象 -->
    <button v-on:click="but2">按钮2 DOM</button>
    <!--参数方法-->
    <button v-on:click="but3(1)">按钮3</button>
    <!--要参数又要有原生DOM对象，需要使用 $event-->
    <button v-on:click="but4(1, $event)">按钮4</button>

    <!--事件监听还提供很多修饰符，比如.once,只会触发一次事件-->
    <button v-on:click.once="but1">按钮5</button>
</div>
</body>
<script src="../../css/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app",
        data: {
            event: 'click'
        },
        methods:{
            but1: function () {
                console.log("我被点击了")
            },
            but2: function (event) {
                console.log(event)
            },
            but3: function (param) {
                console.log(param)
            },
            but4: function (param,event) {
                console.log(param)
                console.log(event)
            }
        }
    });
</script>
</html>
